home *** CD-ROM | disk | FTP | other *** search
/ Compute! Gazette 1993 September / 1993-09.d64 / silicon cobbler (.txt) < prev    next >
Commodore BASIC  |  2022-09-20  |  4KB  |  116 lines

  1. 10 rem: copyright 1993 compute publications intl ltd - all rights reserved
  2. 20 :
  3. 50 print"[147]"chr$(142)chr$(8):poke53280,2:poke53281,7:dimc$(15):poke788,52
  4. 60 forr=0to15:readju$:next:forr=1to125:readdt:ck=ck+dt:next
  5. 70 ifck<>15188thenprint"[144]        error in numerical data":stop
  6. 80 ml$="":restore:forr=0to15:readc$(r):next
  7. 90 bl$="":forr=1to39:bl$=bl$+" ":next
  8. 100 print"[147][144]"tab(12)"silicon cobbler":printtab(11)"program boot maker"
  9. 110 printtab(12)"by: r. markland"
  10. 120 printtab(16)"(c) 1993":printtab(5)"compute publications intl ltd"
  11. 130 forr=1to24:readdt:ml$=ml$+chr$(dt):next
  12. 140 gosub830:print"    select border color during load":printtab(16)"(0-15)"
  13. 150 tb=18:nt=0:le=2:gosub850:bc=val(tp$):ifbc>15then140
  14. 160 ml$=ml$+chr$(bc):gosub820
  15. 170 forr=1to4:readdt:ml$=ml$+chr$(dt):next
  16. 180 gosub830:print"    select screen color during load":printtab(16)"(0-15)"
  17. 190 tb=18:nt=0:le=2:gosub850:sc=val(tp$):ifsc>15then180
  18. 200 ml$=ml$+chr$(sc):gosub820
  19. 210 forr=1to4:readdt:ml$=ml$+chr$(dt):next
  20. 220 gosub830:print"   select character color during load":printtab(16)"(0-15)"
  21. 230 tb=18:nt=0:le=2:gosub850:cl=val(tp$):ifcl>15then220
  22. 240 ml$=ml$+chr$(cl):gosub820
  23. 250 forr=1to33:readdt:ml$=ml$+chr$(dt):next
  24. 260 gosub830:printtab(9)"enter name of program"                 
  25. 270 printtab(11)"to be loaded/run:":printtab(11)"(1-16 characters)"
  26. 280 tb=12:nt=1:le=16:gosub850:na$=tp$:ml$=ml$+chr$(len(na$)):gosub820
  27. 290 forr=1to31:readdt:ml$=ml$+chr$(dt):next
  28. 300 gosub830:printtab(8)"enter necessary command"
  29. 310 printtab(10)"to activate program":printtab(11)"you wish to boot:"
  30. 320 printtab(8)"(e.g. run or sys49152)"
  31. 330 tb=12:nt=1:le=8:gosub850:cm$=tp$:ml$=ml$+chr$(len(cm$)):gosub820
  32. 340 forr=1to10:readdt:ml$=ml$+chr$(dt):next
  33. 350 ml$=ml$+chr$(len(cm$)+1):forr=1to11:readdt:ml$=ml$+chr$(dt):next
  34. 360 gosub830:print" select character color following load"
  35. 370 printtab(16)"(0-15)"
  36. 380 tb=18:nt=0:le=2:gosub850:cp=val(tp$):ifcp>15then360
  37. 390 gosub820:ml$=ml$+chr$(cp):forr=1to8:readdt:ml$=ml$+chr$(dt):next
  38. 400 ml$=ml$+"loading, please wait...."+chr$(0)
  39. 410 forr=1tolen(na$):ml$=ml$+mid$(na$,r,1):next:iflen(na$)=16then430
  40. 420 forr=len(na$)+1to16:ml$=ml$+chr$(234):next
  41. 430 forr=1tolen(cm$):ml$=ml$+mid$(cm$,r,1):next:ml$=ml$+chr$(13)
  42. 440 gosub830:printtab(11)"enter a file name"
  43. 450 printtab(11)"for this autoboot:":printtab(11)"(1-16 characters)"
  44. 460 tb=12:nt=1:le=16:gosub850:ln$=tp$:gosub820
  45. 470 gosub830:printtab(2)"border color is:"tab(38-len(c$(bc)))c$(bc)
  46. 480 printtab(2)"screen color is:"tab(38-len(c$(sc)))c$(sc)
  47. 490 printtab(2)"load chr color is:"tab(38-len(c$(cl)))c$(cl)
  48. 500 printtab(2)"program to boot is:"tab(38-len(na$))na$
  49. 510 printtab(2)"cmd to activate is:"tab(38-len(cm$))cm$
  50. 520 printtab(2)"prog chr color is:"tab(38-len(c$(cp)))c$(cp)
  51. 530 printtab(2)"autoboot name is:"tab(38-len(ln$))ln$
  52. 540 printtab(7)"please review your choices":printtab(15)"then press"
  53. 550 print" (c) to continue -/- (s) to start over"
  54. 560 getd$:ifd$=""then560
  55. 570 ifd$="s"then80
  56. 580 ifd$<>"c"then560
  57. 590 gosub830:printtab(8)"insert destination disk":printtab(15)"then press"
  58. 600 printtab(7)"any key to create autoboot":poke198,0
  59. 610 getd$:ifd$=""then610
  60. 620 gosub830:printtab(8)"working, please wait...."
  61. 630 open15,8,15,"i0:":open8,8,8,"0:"+ln$+",p,r":close8:fl=0:gosub960
  62. 640 ifflthen470
  63. 650 open15,8,15:open8,8,8,"0:"+ln$+",p,w":close8:fl=0:gosub960
  64. 660 ifflthen470
  65. 670 ife1<>63then740
  66. 680 gosub830:ms$="file "+chr$(34)+ln$+chr$(34)+" already exists"
  67. 690 printtab((40-(len(ms$)))/2)ms$
  68. 700 printtab(13)"overwrite it?":printtab(16)"y -/- n"
  69. 710 getd$:ifd$=""then710
  70. 720 ifd$="n"then440
  71. 730 ifd$<>"y"then710
  72. 740 open15,8,15,"i0:":print#15,"s0:"+ln$:close15
  73. 750 open8,8,8,"o:"+ln$+",p,w":print#8,ml$:close8:close15
  74. 760 gosub830:print"  autoboot completed, do you wish to:"
  75. 770 printtab(10)"1.  create another?":printtab(10)"2.  quit?"
  76. 780 getd$:ifd$=""then780
  77. 790 ifd$="1"then80
  78. 800 ifd$<>"2"then780
  79. 810 print"[147]":poke646,14:poke647,14:poke53280,14:poke53281,6:poke788,49:end
  80. 820 print:printtab(16)"entered":fort=1to1000:next
  81. 830 print"":forr=1to14:printbl$:next:print""
  82. 840 return
  83. 850 poke198,0:printtab(tb);:poke204,0:tp$=""
  84. 860 poke647,peek(646):getki$:ifki$=""then860
  85. 870 ifki$=chr$(34)then860
  86. 880 ifki$=chr$(13)andlen(tp$)>0thenprint" ";:poke204,1:return
  87. 890 ifki$=chr$(20)andlen(tp$)>0thentp$=left$(tp$,len(tp$)-1):goto950
  88. 900 ifki$=>chr$(48)andki$=<chr$(57)then930
  89. 910 ifntthenifki$=>chr$(32)andki$=<chr$(90)then930
  90. 920 goto860
  91. 930 iflen(tp$)=(le)then860
  92. 940 tp$=tp$+ki$
  93. 950 printki$;:goto860
  94. 960 input#15,e1,er$,e2,e3
  95. 970 ife1=0ore1=62ore1=63thenclose15:return
  96. 980 close15:fl=1
  97. 990 gosub830:printtab(9)"* * * disk error * * *"
  98. 1000 printtab(10)"";e1;er$;e2;e3
  99. 1010 printtab(3)"check disk & drive, then try again"
  100. 1020 printtab(7)"press any key to continue"
  101. 1030 getd$:ifd$=""then1030
  102. 1040 return
  103. 1050 data black,white,red,cyan,purple,green,blue,yellow,orange,brown,light red
  104. 1060 data dark gray,medium gray,light green,light blue,light gray
  105. 1070 data 44,3,60,3,102,254,165,244,237,245,0,0,0,0,0,0,0,0
  106. 1080 data 169,147,32,210,255,169
  107. 1090 data 141,32,208,169
  108. 1100 data 141,33,208,169
  109. 1110 data 141,134,2,32,138,255,32,231,255,160,0,24,162,12,160,8,32,240,255
  110. 1120 data 160,0,185,174,3,240,6,32,210,255,200,208,245,169
  111. 1130 data 162,199,160,3,32,189,255,169,1,168,162,8,32,186,255,173,33,208
  112. 1140 data 141,134,2,169,0,32,213,255,134,45,132,46,160
  113. 1150 data 185,215,3,153,119,2,136,16,247,169
  114. 1160 data 133,198,32,94,166,169,147,32,210,255,169
  115. 1170 data 141,134,2,162,128,108,2,3
  116.